<?php
/**
 * Created by IntelliJ IDEA. 
 * User: cmn
 * Date: 2019-10-16
 * Time: 19:46
 */

namespace tech\esign_core;
use tech\esign_constant\Config;
use tech\esign_utils\CommonHelper;
use tech\esign_utils\HttpHelper;

class AccountHelper extends BaseHelper
{
    /**
    *   参数说明：
    *   $name：真实姓名，必填
    *   $idNo：身份证号，必填
    *   $email：邮箱
    *   $mobile：手机号
	*	$personArea 证件类型： 13-护照，14-军人身份证，15-社会保障卡，16-武装警察身份证件，17-港澳居民往来内地通行证，18-台湾居民来往大陆通行证，19-大陆身份证，20-户口簿，21-临时居民身份证，22-外国人永久居留证，23-其他，默认19-大陆身份证
    */
    function addPersonAcct($name,$idNo,$mobile,$email='',$personArea=19){
         if(empty($name) || empty($idNo)){
             CommonHelper::printMsg('error:请填写真实的姓名和身份证信息');
             return false;
         }
         switch (substr($idNo, 0, 1)) {
            case 'H':
                $personArea = 17;
                break;
            case 'M':
                $personArea = 17;
                break;
            default:
                $personArea = 19;
         }
         $personAcctData = array(
             'email'=>$email,
             'mobile'=>$mobile,
             'name'=>$name,
             'idNo'=>$idNo,
			 'personArea'=>$personArea
         );
        $result = HttpHelper::doPost($this->warUrl.$this->urlMap['ADD_PERSON_ACCOUNT'],$personAcctData);
        return json_decode($result,true);
    }

    /**
    *   参数说明：
    *   $name：企业名称，必填
    *   $regType：//企业注册类型，NORMAL（组织机构代码）、MERGE（社会信用代码）、REGCODE（工商注册号），默认NORMAL
    *   $organCode：组织机构代码、工商注册号或者统一社会信用代码
    */
    function addOrgAcct($name,$organCode,$regType,$mobile){
        $orgAcctData = array(
            'name'=>$name,
            'regType'=>$regType,//企业注册类型，NORMAL（组织机构代码）、MERGE（社会信用代码）、REGCODE（工商注册号），默认NORMAL
            'organCode'=>$organCode,//组织机构代码、工商注册号或者统一社会信用代码
			'mobile'=>$mobile
        );
        $result = HttpHelper::doPost($this->warUrl.$this->urlMap['ADD_ORG_ACCOUNT'],$orgAcctData);
        return json_decode($result,true);
    }

    /**
    *   说明：注销账户
    *   参数说明：
    *       $accountId：待注销账号的标识
    *   
    */
    function accountDelete($accountId)
    {
        $daleteAcctData = array(
            'accountId'=>$accountId //待注销账号的标识
        );
        $result = HttpHelper::doPost($this->warUrl.$this->urlMap['DELETE_ACCOUNT'],$daleteAcctData);
        return json_decode($result,true);
    }

    /**
    *   说明：根据证件号查询账户id
    *   参数说明：
    *       idNo：待查询账户的证件号
    *       idNoType：账户证件类型，11-大陆身份证号，12-香港通行证，13-澳门通行证，14-台湾通行证，15-外籍证件，21-组织机构代码号，22-统一社会信用代码，23-工商注册号
    */
    function getAccountInfoByIdNo($idNo, $idNoType)
    {
        switch (substr($idNo, 0, 1)) {
            case 'H':
                $idNoType = 12;
                break;
            case 'M':
                $idNoType = 13;
                break;
            default:
                $idNoType = $idNoType;
        }
        $idNoAcctData = array(
            'idNo'=>$idNo,
            'idNoType'=>$idNoType
        );
        $result = HttpHelper::doPost($this->warUrl.$this->urlMap['GET_ACCOUNTINFOBYIDNO_ACCOUNT'],$idNoAcctData);
        return json_decode($result,true);
    }

}
